/**
 * 数据传输工具函数
 * 用于在不同页面间传输大量数据，避免URL参数长度限制
 */

/**
 * 存储数据到localStorage
 * @param {string} key 存储的键名
 * @param {any} data 要存储的数据
 */
export function saveData(key, data) {
  try {
    const jsonData = JSON.stringify(data);
    localStorage.setItem(key, jsonData);
    return true;
  } catch (error) {
    console.error('数据存储失败:', error);
    return false;
  }
}

/**
 * 从localStorage获取数据
 * @param {string} key 存储的键名
 * @returns {any} 存储的数据，如果不存在则返回null
 */
export function getData(key) {
  try {
    const jsonData = localStorage.getItem(key);
    if (!jsonData) return null;
    return JSON.parse(jsonData);
  } catch (error) {
    console.error('数据获取失败:', error);
    return null;
  }
}

/**
 * 从localStorage删除数据
 * @param {string} key 存储的键名
 */
export function removeData(key) {
  try {
    localStorage.removeItem(key);
  } catch (error) {
    console.error('删除数据失败:', error);
  }
}

/**
 * 生成唯一ID
 * @returns {string} 唯一ID
 */
export function generateUniqueId() {
  return `data_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
}
